package com.pactera.spring.boot.learn.controller;

import com.pactera.spring.boot.learn.dto.UserDataDTO;
import com.pactera.spring.boot.learn.vo.UserDataVO;
import com.pactera.spring.boot.learn.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/api")
public class UserController {

    @Autowired
    private IUserService userService;

    /**
     * 获取用户列表
     *
     * @param dto 请求参数
     * @return {@link UserDataVO}
     */
    @GetMapping("/user")
    public List<UserDataVO> getUserList(UserDataDTO dto) {
        return userService.getUserList(dto);
    }

    /**
     * 新增用户
     *
     * @param dto 请求参数
     * @return {@link Boolean}
     */
    @PostMapping("/user")
    public Boolean insertUser(@RequestBody UserDataDTO dto) {
        return userService.insertUser(dto);
    }

    /**
     * 更新用户信息
     *
     * @param dto 请求参数
     * @return {@link Boolean}
     */
    @PutMapping("/user")
    public Boolean updUser(@RequestBody UserDataDTO dto) {
        return userService.updUser(dto);
    }

    /**
     * 删除用户
     *
     * @param id 请求参数
     * @return {@link Boolean}
     */
    @DeleteMapping("/user/{id}")
    public Boolean delUser(@PathVariable Integer id) {
        return userService.delUser(id);
    }

}
